/*
 * Conteniene el siguiente ID libre de las tablas
 */
package src;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

/**
 *
 * @author Nuevo Mini F
 */
public class IDs {
    
    private static int descripcion = 1;
    
    private static int acontecimiento = 1;
    
    private static int cargo = 1;
    
    private static int colectivo = 1;
    
    private static int documento = 1;
    
    private static int fichero = 1;
    
    private static int catalogacion = 1;
    
    private static int personaje = 1;

    /**
     * @return the descripcion
     */
    public static int getDescripcion() {
        return descripcion;
    }

    /**
     * @return the acontecimiento
     */
    public static int getAcontecimiento() {
        return acontecimiento;
    }

    /**
     * @return the cargo
     */
    public static int getCargo() {
        return cargo;
    }

    /**
     * @return the colectivo
     */
    public static int getColectivo() {
        return colectivo;
    }

    /**
     * @return the documento
     */
    public static int getDocumento() {
        return documento;
    }

    /**
     * @return the fichero
     */
    public static int getFichero() {
        return fichero;
    }

    /**
     * @return the catalogacion
     */
    public static int getCatalogacion() {
        return catalogacion;
    }

    /**
     * @return the personaje
     */
    public static int getPersonaje() {
        return personaje;
    }

    /**
     * @param aDescripcion the descripcion to set
     */
    public static void setDescripcion(int aDescripcion) {
        descripcion = aDescripcion;
    }

    public static void incrementaDescripcion() {
        descripcion ++;
    }
    
    public static void incrementaAcontecimiento() {
        acontecimiento ++;
    }

    public static void incrementaCargo() {
        cargo ++;
    }
    
    public static void incrementaColectivo() {
        colectivo ++;
    }
    
    public static void incrementaDocumento() {
        documento ++;
    }
    
    public static void incrementaFichero() {
        fichero ++;
    }
    
    public static void incrementaPersonaje() {
        personaje ++;
    }
    
    public static void incrementaCatalogacion() {
        catalogacion ++;
    }
    
    public static void inicializaIDs()
    {
        int aux= 0;
        try{
            
            Connection conexion = DriverManager.getConnection("jdbc:mysql://localhost", "root", "");
            conexion.setCatalog(Core.nombreBD);
            Statement st = conexion.createStatement();
            
            
            String busqueda = "SELECT d.IDDescripcion "+
                              "FROM descripcion d ";
            ResultSet rs = st.executeQuery(busqueda);
            
            while (rs.next())
            {
                int now = Integer.valueOf(rs.getString("d.IDDescripcion"));
                if(aux<now)
                    aux = now; 
            }
            descripcion = aux+1;
            aux=1;
            
            busqueda = "SELECT d.IDAcontecimiento "+
                       "FROM acontecimiento d ";
            rs = st.executeQuery(busqueda);
            
            while (rs.next())
            {
                int now = Integer.valueOf(rs.getString("d.IDAcontecimiento"));
                if(aux<now)
                    aux = now; 
            }
            acontecimiento = aux+1;
            aux=1;
            
            busqueda = "SELECT d.IDCargo "+
                       "FROM cargo d ";
            rs = st.executeQuery(busqueda);
            
            while (rs.next())
            {
                int now = Integer.valueOf(rs.getString("d.IDCargo"));
                if(aux<now)
                    aux = now; 
            }
            cargo = aux+1;
            aux=1;
            
            busqueda = "SELECT d.IDColectivo "+
                       "FROM colectivo d ";
            rs = st.executeQuery(busqueda);
            
            while (rs.next())
            {
                int now = Integer.valueOf(rs.getString("d.IDColectivo"));
                if(aux<now)
                    aux = now; 
            }
            colectivo = aux+1;
             aux=1;   
            
            busqueda = "SELECT d.IDDocumento "+
                       "FROM documento d ";
            rs = st.executeQuery(busqueda);
            
            while (rs.next())
            {
                int now = Integer.valueOf(rs.getString("d.IDDocumento"));
                if(aux<now)
                    aux = now; 
            }
            documento = aux+1;
            aux=1;
            
            busqueda = "SELECT d.IDFichero "+
                       "FROM fichero d ";
            rs = st.executeQuery(busqueda);
            
            while (rs.next())
            {
                int now = Integer.valueOf(rs.getString("d.IDFichero"));
                if(aux<now)
                    aux = now; 
            }
            fichero = aux+1;
            aux=1;
            
            busqueda = "SELECT d.IDCatalogacion "+
                       "FROM gatalogacion d ";
            rs = st.executeQuery(busqueda);
            
            while (rs.next())
            {
                int now = Integer.valueOf(rs.getString("d.IDCatalogacion"));
                if(aux<now)
                    aux = now; 
            }
            catalogacion = aux+1;
            aux=1;
            
            busqueda = "SELECT d.IDPersonaje "+
                       "FROM personaje d ";
            rs = st.executeQuery(busqueda);
            
            while (rs.next())
            {
                int now = Integer.valueOf(rs.getString("d.IDPersonaje"));
                if(aux<now)
                    aux = now; 
            }
            personaje = aux+1;
            aux=1;
            
            conexion.close();
            st.close();
        }
        catch(Exception e)
        {
            System.out.printf("Fallo en inicializa IDs: "+e.toString());
        }
    }
}